home *** CD-ROM | disk | FTP | other *** search
/ Night Owl 7 / Night Owl Shareware (NOPV7)(Night Owl Publisher Inc.)(1992).bin / 038a / bash1_12.arj / BASH1-12.TAR / bash-1.12 / ChangeLog < prev    next >
Text File  |  1992-01-21  |  40KB  |  1,101 lines

  1. Tue Jan 21 00:22:00 1992  Brian Fox  (bfox at gnuwest.fsf.org)
  2.  
  3.     * parse.y, shell.h, new files parser.h and input.h:  parser.h
  4.     contains all of the structures necessary to parse commands; this
  5.     file is included within shell.h.  input.h contains definitions and
  6.     structures which are used by the parser to read input; this file
  7.     is included only by parse.y and builtins/common.c.
  8.  
  9.     * execute_cmd.c (find_user_command_in_path), (extract_colon_unit),
  10.     and (user_command_matches): Fix core dumping when Bash encounters
  11.     a trailing `:' in $PATH.
  12.  
  13.     * bashline.c (initialize_readline) Fix typo: name of user visible
  14.     function is `operate-and-get-next', not `operate_and_get_next'.
  15.  
  16.     * machines.h: (DGUX) Fix typo '_DFOO' -> '-DFOO'.
  17.  
  18.     * execute_cmd.c (do_redirection_internal) Add a workaround for
  19.     machines using AFS which exhibit the `AFS create bug'.  This code
  20.     is conditionalized on "AFS_CREATE_BUG".
  21.  
  22.     * execute_cmd.c (do_redirection_internal) Add an additional step
  23.     when calling alloca () for those machines which only allow the
  24.     output of alloca () to be assigned to a simple variable.
  25.  
  26.     * execute_cmd.c (execute_command_internal) Free memory allocated
  27.     with alloca () on machines where the alloca emulation is being
  28.     used.
  29.  
  30.     * jobs.c (drain_output) Remove extra argument to select ().  Now
  31.     we expect drain_output () to work correctly.
  32.  
  33.     * parse.y: Many functions.  New union INPUT_STREAM can contain a
  34.     (FILE *) or a (char *).  New structure BASH_INPUT contains all of
  35.     the information that used to be in globals, namely:  the address
  36.     of the function to get a character (getter), the address of the
  37.     function to unget a character (ungetter), the location from which
  38.     to get or unget (INPUT_STREAM)location, the type (type), and the
  39.     name of the stream (name).  New global structure variable
  40.     `bash_input' is the place in which the globals are stored.
  41.  
  42.     * shellc. (initialize_shell) Call initialize_bash_input () to zero
  43.     the data structure used by the BASH_INPUT functions.
  44.  
  45. Mon Jan 20 23:04:15 1992  Brian Fox  (bfox at gnuwest.fsf.org)
  46.  
  47.     * parse.y (decode_prompt_string): '\s' now always returns the
  48.     base_pathname () of the shell_name.
  49.  
  50.     * shell.c (reader_loop): Make declaration of setjmp () variable
  51.     and call for that variable to receive output of setjmp () two
  52.     separate statements so that the Cray and other compilers won't
  53.     complain.
  54.  
  55.     * nojobs.c: Add define for WAITPID which does Posix or non-posix
  56.     versions of wait ().  Add code to reap zombied children, and call
  57.     it when forking fails the first time so we can retry the fork.
  58.  
  59.     * builtins/read.def (read_builtin): Fix bug in -r mode.  We use a
  60.     new variable called `raw_mode' to control input handling.
  61.  
  62.     * builtins/times.def: Clean up defines.
  63.  
  64.     * builtins/ulimit.def (ulimit_builtin): Fix typos.
  65.  
  66. Sat Jan 18 14:46:19 1992  Brian Fox  (bfox at gnuwest.fsf.org)
  67.  
  68.     * builtins/getopt.c: Include ../config.h if being compiled for
  69.     Bash.
  70.  
  71.     * cpp-Makefile: Remove declaration of DESTDIR and associated
  72.     comment.  It is passed in from Makefile now.
  73.  
  74.     * Makefile: Pass DESTDIR variable in from Makefile to
  75.     cpp-Makefile.
  76.  
  77.     * variables.c: (initialize_shell_variables) Set our internal PWD
  78.     variable before reading the environment so that if an exported PWD
  79.     exists it takes precedence.
  80.  
  81. Thu Jan  9 02:45:02 1992  Brian Fox  (bfox at gnuwest.fsf.org)
  82.  
  83.     * machines.h: Added entry for an Amiga running USGr4.
  84.  
  85.     * support/mksysdefs: If the directory `/usr/amiga' exists, then
  86.     this machine is an Amiga running USGr4.
  87.  
  88. Wed Jan  1 20:20:05 1992  Brian Fox  (bfox at gnuwest.fsf.org)
  89.  
  90.     * builtins/type.def: (type_builtin) Fix bug which prevented output
  91.     from being produced for unfound items after a previous item was
  92.     found: i.e., `type ls blarney' did not produce error message for
  93.     blarney, but now it does.
  94.  
  95.     * builtins/echo.def: (echo_builtin) Document -E flag.  Check
  96.     option strings for full validity before handling any of the
  97.     options; echo -n9 should echo "-n9" with a trailing newline.
  98.  
  99. Mon Dec 30 17:06:36 1991  Brian Fox  (bfox at gnuwest.fsf.org)
  100.  
  101.     * machines.h, test.c: Change HAVE_MULTIPLE_GROUPS to
  102.     HAVE_GETGROUPS.
  103.  
  104.     * machines.h, cpp-Makefile: Change HAVE_SIGLIST to
  105.     HAVE_SYS_SIGLIST.
  106.  
  107.     * shell.c, print_cmd.c, make_cmd.c, machines.c, cpp-Makefile:
  108.     Change HAVE_VPRINTF to HAVE_VFPRINTF.
  109.  
  110. Sun Dec 29 11:04:05 1991  Brian Fox  (bfox at gnuwest.fsf.org)
  111.  
  112.     * machines.h (ISC 2.2) 2.2 and greater have multiple groups and
  113.     the ld that is shipped with them needs the -Xp option to compile
  114.     with Posix semantics.
  115.  
  116.     * execute_cmd.c (find_user_command_in_path) Allow the user to
  117.     interrupt lengthy path searches.
  118.  
  119.     * execute_cmd.c, general.c (all_digits) Moved all_digits () from
  120.     execute_cmd.c to general.c.
  121.  
  122.     * builtins/alias.def: (unalias_builtin) Allow `-a' option to delete
  123.     all aliases.  Allow `--' to signify end of options.
  124.  
  125.     * builtins/jobs.def: (jobs_builtin) Allow `--' to signify end of
  126.     options.
  127.  
  128.     * builtins/set.def (set_builtin) `set -b' is equivalent to `set -o
  129.     notify'.  This removes special case code from set_builtin ();
  130.  
  131.       flags.c: Move declaration of ASYNCHRONOUS_NOTIFICATION from
  132.       jobs.c to flags.c.
  133.  
  134.       flags.h: Add external declaration of ASYNCHRONOUS_NOTIFICATION
  135.       to list of flags.
  136.  
  137.     * execute_cmd.c: (user_command_matches) If PATH_ELEMENT is the
  138.     empty string, then replace it with ".".
  139.  
  140.     * builtins/cd.def: (dirs_builtin) Document -l flag.  Do not print
  141.     trailing space at end of output.
  142.  
  143.     * builtins/fc.def (fc_builtin) Modify output of listed history
  144.     lines to match Posix.2a specification.
  145.  
  146. Sat Dec 28 16:29:28 1991  Brian Fox  (bfox at gnuwest.fsf.org)
  147.  
  148.     * bashline.c: New functions and define for controlling their
  149.     presence.  The define is DYNAMIC_HISTORY_EXPANSION, and it
  150.     controls whether code for completing over history tokens with
  151.     M-TAB is compiled.
  152.  
  153.     * cpp-Makefile: Use new #define SEARCH_LIB_NEEDS_SPACE to create
  154.     local Makefile variable SEARCH_LIB, which is either `-L' or `-L '.
  155.  
  156.     machines.h: hpux compiler requires SEARCH_LIB_NEEDS_SPACE.
  157.  
  158. Sat Dec 14 12:21:17 1991  Brian Fox  (bfox at gnuwest.fsf.org)
  159.  
  160.     * mailcheck.c; Carefully save and restore the value of $_ while
  161.     hacking mail.
  162.  
  163.     * new file getcwd.c is included for ISC systems (or others) with
  164.     broken implementations of getcwd ().
  165.  
  166.     * builtins/kill.def; sscanf () an integer variable and then cast
  167.     the results into a pid_t.
  168.  
  169.     * parse.y; check shell_input_line for non-nullness before checking
  170.     the contents of it.
  171.  
  172. Fri Nov 22 01:21:44 1991  Brian Fox  (bfox at gnuwest.fsf.org)
  173.  
  174.     * support/getcppsyms.c: Add "luna88k".
  175.  
  176.     * builtins/jobs.def: New function execute_list_with_replacements
  177.     () implements the POSIX specified "jobs -x foo %1" behaviour.
  178.  
  179. Thu Nov 21 00:15:01 1991  Brian Fox  (bfox at gnuwest.fsf.org)
  180.  
  181.     * machines.h: Description for Omron Luna 88k.
  182.  
  183.     * machines.h, shell.c: Instead of Xenix being the #define which
  184.     determines whether the arguments to setvbuf () are reversed, make
  185.     a new define (added to SYSDEP_CFLAGS for Xenix machines) called
  186.     REVERSED_SETVBUF_ARGS.
  187.  
  188.     * cpp-Makefile: Quote values of AR and RANLIB passed to sub makes.
  189.  
  190. Wed Nov 20 05:06:10 1991  Brian Fox  (bfox at gnuwest.fsf.org)
  191.     * parse.y: New variable CURRENT_COMMAND_LINE_COUNT controls how
  192.     commands are added to the history.  New function bash_add_history
  193.     () handles the details of adding a line to the history.
  194.  
  195.     * shell.c: (parse_command) Clear current_command_line_count before
  196.     calling yyparse ();
  197.  
  198.     * subst.c: New function and variable pair
  199.     "command_oriented_history" controls behaviour of bash_add_history ().
  200.  
  201. Sat Nov 16 21:43:47 1991  Brian Fox  (bfox at gnuwest.fsf.org)
  202.  
  203.     * builtins/help.def: (help_builtin) Call QUIT while listing help.
  204.  
  205.     * subst.c: Include fnmatch.h, don't include glob.h.  Remove
  206.     definition of fnmatch.
  207.  
  208.     * execute_cmd.c: Include fnmatch.h, don't include glob.h.
  209.       (execute_case_command) Use define for FNM_NOESCAPE instead of 0.
  210.  
  211.     * lib/glob/glob.c: Removed glob_match () and made glob_vector ()
  212.     call fnmatch ().
  213.  
  214.     * lib/glob:  Added new files fnmatch.c,h.
  215.  
  216. Thu Nov 14 04:23:08 1991  Brian Fox  (bfox at gnuwest.fsf.org)
  217.  
  218.     * builtins/shift.def; The shift count can be zero.
  219.  
  220.     * subst.c; New variable last_command_subst_pid keeps track of the
  221.     process ID of the last command executed within command substition.
  222.  
  223.     * execute_cmd.c (execute_simple_command); Use
  224.     last_command_subst_pid (in conjunction with temp var
  225.     old_last_command_subst_pid) to return the POSIX specified value in
  226.     the case of simple commands which ostensibly have no command
  227.     words. I.e.:
  228.  
  229.            If a redirection fails then return a non-zero status.
  230.            Else, if the command contained a command substitution
  231.            then return the exit status of the command substitution.
  232.            Else return a status of 0.    
  233.  
  234. Mon Nov 11 04:52:26 1991  Brian Fox  (bfox at gnuwest.fsf.org)
  235.  
  236.     * machines.h: Entry for drs6000, contributed by
  237.     R.S.JONES@qmw.ac.uk, Rob Jones.
  238.  
  239.     * test.c: (two_arguments) Disallow "test -foo" being treated as
  240.     "test -f".
  241.  
  242. Tue Nov  5 12:10:52 1991  Brian Fox  (bfox at gnuwest.fsf.org)
  243.  
  244.     * Makefile, cpp-Makefile; Remove target for "clone" because it is
  245.     now too hairy to support, and is largely unused.
  246.  
  247.     * subst.c (command_substitute); Save and restore the original
  248.     pipeline process group for the making of the $() child.
  249.  
  250. Mon Nov  4 00:00:39 1991  Brian Fox  (bfox at gnuwest.fsf.org)
  251.  
  252.     * config.h: Two new defines: DISABLED_BUILTINS allows "builtin
  253.     foo" to execute the shell builtin "foo" even if it has been
  254.     disabled with "enable -n foo".  ALLOW_RIGID_POSIX_COMPLIANCE
  255.     allows the environment variable POSIX_PEDANTIC to control shell
  256.     behaviour, making it a totally rigid posix compliant shell.
  257.  
  258.     * builtins/common.c: Rearrangement of functions and new functions.
  259.     find_shell_builtin () now calls builtin_address_internal ().  New
  260.     function builtin_address () returns the address of a builtin
  261.     whether it is enabled or not.  builtin_address_internal () takes
  262.     two args, NAME and DISABLED_OKAY.
  263.  
  264.     * support/getcppsyms.c: Add _AIX, M_UNIX, and M_XENIX to list of
  265.     known defines.
  266.  
  267. Sun Nov  3 23:57:05 1991  Brian Fox  (bfox at gnuwest.fsf.org)
  268.  
  269.     * shell.c, jobs.c: Define and use top_level_mask, a signal mask
  270.     for the creation of children.  This fixes pipeline children being
  271.     created with SIGCHLD masked.
  272.  
  273. Fri Nov  1 07:07:32 1991  Brian Fox  (bfox at gnuwest.fsf.org)
  274.  
  275.     * expr.c (evalexp) Zero token and token length before calling
  276.     readtok ();
  277.  
  278.     * make_cmd.c (make_here_document) Inhibit <<- from deleting
  279.     anything other than tab characters.
  280.  
  281.     * subst.c (parameter_brace_expand_length) Implement ${#xx} by
  282.     actually expanding $xx instead of assuming that it is a variable.
  283.  
  284.     * execute_cmd.c (execute_subshell_builtin_or_function) Unwind
  285.     protect and restore the return_catch jump buffer during function
  286.     execution.
  287.  
  288.     * machines.h (ardent/titan) #undef HAVE_ALLOCA to avoid compiler
  289.     bug.
  290.  
  291. Wed Oct 30 12:43:54 1991  Brian Fox  (bfox at gnuwest.fsf.org)
  292.  
  293.     * execute_cmd.c (shell_execve) Only call _setostype () if the
  294.     machine is isc386, and _POSIX_SOURCE is defined.
  295.  
  296.     * general.c (index, rindex); Check for existence of index #define
  297.     before declaring functions.
  298.  
  299.     * subst.c (expand_word_internal) Make ${#-} and ${#?} return
  300.     the lengths of $- and $?.
  301.  
  302. Mon Oct 28 11:24:31 1991  Brian Fox  (bfox at gnuwest.fsf.org)
  303.  
  304.     * execute_cmd.c (execute_command_internal); dispose of already
  305.     executed redirections when a subshell is recursively executing.
  306.  
  307.     * support/getcppsyms.c; All of convex, __convex__ and __convexc
  308.     are translated to " -pcc -Dconvex".
  309.  
  310. Thu Oct 24 14:29:24 1991  Brian Fox  (bfox at gnuwest.fsf.org)
  311.  
  312.     * builtins/Makefile: Massage declaration of $(MKBUILTINS) to
  313.     satisfy HPUX 7.0 native compiler.
  314.  
  315.     * builtins/type.def; Make found_file local to disk file search
  316.     block.  In the case of a hashed file being found, increment
  317.     found_something.
  318.  
  319. Tue Oct 22 17:22:37 1991  Brian Fox  (bfox at gnuwest.fsf.org)
  320.  
  321.     * nojobs.c; check _POSIX_VERSION for the right to include
  322.     termios.h.
  323.  
  324.     * machines.h; Added entry for MagicStation.
  325.  
  326. Thu Oct  3 16:28:55 1991  Brian Fox  (bfox at gnuwest.fsf.org)
  327.  
  328.     * parse.y (command_token_position) Now a define which calls
  329.     reserved_word_acceptable (), excluding SEMI_SEMI in case clauses.
  330.  
  331.     * machines.h (description for ultrix && mipsel); MIPS Ultrix 4.2
  332.     machines still have alloca in the library, and it works perfectly
  333.     well; the only thing to be avoided is the inclusion of alloca.h.
  334.  
  335.     * builtins/kill.def (kill_builtin).  Allow negative signal
  336.     specifiers to signify process groups.
  337.  
  338. Fri Sep  6 17:34:38 1991  Brian Fox  (bfox at gnuwest.fsf.org)
  339.  
  340.     * execute_cmd.c: (do_redirect_internal) Fix to >&- of stdout
  341.     redirection bug.
  342.  
  343.     Minor cosmetic changes to many files.
  344.     shell.h, make_cmd.c, copy_cmd.c, parse.y, 
  345.         
  346.  
  347. Sun Jul 28 19:28:17 1991  Brian Fox  (bfox at gnuwest.fsf.org)
  348.  
  349.     * Moved several scripts and support files into ./support.  Files
  350.     moved and renamed: makeargs.sh -> mksysdefs, cppmagic.sh ->
  351.     cppmagic, cat-s, getcppsyms.c info, mail-shell, make-tarfile.
  352.  
  353.     * Moved glob/, readline/, and malloc/ (renamed from alloc-files)
  354.     into a subdirectory called lib.  This affected cpp-Makefile.
  355.  
  356.     * cpp-Makefile: Use #defines to create a macro which builds
  357.     libraries, regardless of the directory that the source code
  358.     resides in.
  359.  
  360. Thu Jul 11 21:00:20 1991  Brian Fox  (bfox at gnuwest.fsf.org)
  361.  
  362.     * builtins/kill.def: Make the exit status of `kill' be SUCCESS if
  363.     any of the killed processes accepted the signal.
  364.  
  365.     * psize.c, jobs.c, shell.c, parse.y: Make signal handler functions
  366.     return a value if VOID_SIGHANDLER is not defined.
  367.  
  368.     * parse.y, general.h, bashline.c builtins/type.def: Change
  369.     token_word_alist to word_token_alist, and typedef STRING_INT_ALIST
  370.     in general.h.  Use the new definitions in bashline.c,
  371.     builtins/type.def, and parse.y.
  372.  
  373.     * bashline.c: (command_word_completion_function) Complete on
  374.     shell reserved words after trying aliases.
  375.  
  376. Tue Jul  9 07:01:33 1991  Brian Fox  (bfox at gnuwest.fsf.org)
  377.  
  378.     * New file maxpath.h contains the right things to define
  379.     MAXPATHLEN on various systems.
  380.  
  381.     * (shell.h) Always include unwind_prot.h.
  382.  
  383.     * HUGE CHANGE.  All builtins appear in builtins/*.def.  There is a
  384.     new program called builtins/mkbuiltins.c which is called to
  385.     generate .c files from the .def files.  It also makes a header
  386.     file containing external declarations, and a C source file
  387.     containing the shell_builtins[] array.
  388.  
  389.     The builtins are compiled into builtins/libbuiltins.a, and then
  390.     that file is one of the OBJECTS in bash-Makefile.
  391.  
  392. Sun Jul  7 02:23:21 1991  Brian Fox  (bfox at gnuwest.fsf.org)
  393.  
  394.     * builtins.c: Add `--' flag to trap, type, umask and hash
  395.     builtins.
  396.  
  397.     * jobs.c: (set_job_control) returns the original value of
  398.     job_control.  Remove extra ignore of SIGQUIT.
  399.  
  400.     * config.h: Add define of STANDARD_UTILS_PATH for `command -p'.
  401.     Add "defined" for UNIXPC where it was missing.
  402.  
  403.     * subst.c: make and use QUOTED_CHAR define.  Test for possibilty
  404.     of tilde expansion before doing it.
  405.  
  406.     * make_cmd.c: Only do quote_removal on here document delimiters.
  407.  
  408.     * builtins.c: (command_builtin) Add Posix -p flag to `command'
  409.     builtin.  Random textual changes to clarify the meaning of the
  410.     output for various commands.
  411.  
  412.     exec_builtin now restores the default signal handlers.
  413.  
  414.     * glob.c: Avoid globbing in directories that begin with `.' if the
  415.     glob pattern (and noglob_dot_filenames) don't allow it.
  416.  
  417.     * test.c: Avoid calling strlen () when we only care if the length
  418.     is non-zero.  Instead, test the first byte.
  419.  
  420.     * jobs.c(kill_pid) Kill the process pointed to by P, not the last
  421.     one we looked at.
  422.  
  423.     * shell.c: Only source the .bashrc if this is not a login shell,
  424.     even if we are not sourcing .bash_profile.
  425.  
  426.     Xenix's setvbuf () has 2 middle arguments reversed.
  427.  
  428.     Run the exit trap when the shell is dying from a terminating
  429.     signal (like SIGINT).
  430.  
  431.     * general.c:(get_hostname) Change `uts' to `ut' to avoid conflict
  432.     with Amdahl compiler.
  433.  
  434.     * execute_cmd.c:(execute_simple_command) changes to make
  435.     this_shell_bultin always reflect the current command; i.e. NULL if
  436.     not a builtin, otherwise, the address of the currently executing
  437.     builtin.
  438.  
  439.     variables.c:(find_variable) Check temporary environment if current
  440.     execution environment is a builtin or function.
  441.  
  442.     flags.h: Prevent multiple inclusion, add declarations for
  443.     functions found in flags.c.
  444.  
  445. Mon Jun 24 20:44:47 1991  Brian Fox  (bfox at gnuwest.fsf.org)
  446.  
  447.     * execute_cmd.c: (do_redirections) Hack errors on variable names
  448.     as redirectee's to display themselves correctly.  New function
  449.     expandable_redirection_filename () takes a (REDIRECT *) and
  450.     returns non-zero if the redirectee should be expanded or treated
  451.     as an integer.
  452.  
  453.     * builtins.c: New builtin documentation: bind_builtin ().
  454.       bashline.c: New builtin code: bind_builtin ().
  455.       mailcheck.c: Cosmetic changes.
  456.  
  457. Mon Jun 10 10:47:13 1991  Brian Fox  (bfox at gnuwest.fsf.org)
  458.  
  459.     * machines.h: Group all of the i386 machines together.  Merge SCO
  460.     port.
  461.  
  462.     * jobs.c: Use SCO instead of M_UNIX.
  463.  
  464.     * shell.c, jobs.c, execute_cmd.c, general.c, builtins.c,
  465.     make_cmd.c, subst.c, general.h: New file filecntl.h should be
  466.     included wherever you needed to include fcntl.h.
  467.  
  468.     * cpp-Makefile: #undef i386 around Makefile assignments where the
  469.     preprocessor might munge it.
  470.  
  471.     * test,c, execute_cmd.c: moved definition of group_member () into
  472.     test.c from execute_cmd.c so test.c can be compiled standalone.
  473.  
  474. Tue May 28 19:02:41 1991  Brian Fox  (bfox at gnuwest.fsf.org)
  475.  
  476.     * expr.c: (evalexp) Save and restore the longjmp destination of
  477.     evalbuf for each call to evalexp () to allow recursive calls to
  478.     error correctly.
  479.  
  480.     * makeargs.sh: Fix typo for determining RISC6000.
  481.  
  482.     * machines.h: Fix bugs in machine descriptions according to bug
  483.     reports.
  484.  
  485.     * execute_cmd.c: (execute_simple_command) Remove all of the execve
  486.     code and shell interpretation code placing it into a new function
  487.     called shell_execve ().
  488.  
  489.     * builtins.c (exec_builtin) call shell_execve () instead of
  490.     execve ().
  491.  
  492.     * Makefile: Add $(STRERROR) to flags.
  493.  
  494. Fri May 24 12:05:45 1991  Brian Fox  (bfox at gnuwest.fsf.org)
  495.  
  496.     * cpp-Makefile: Pass AR to library builds, same as RANLIB.
  497.  
  498.     * general.c: Move definitions of index () and rindex () to top of
  499.     file so that those systems which do not have them get the return
  500.     type correct.
  501.  
  502.     * Fixed typo in README; removed MAINTAINENCE (mispelled) from
  503.     cpp-Makefile, since it is no longer used.  Fixed mispeslling in
  504.     machines.h of Sun Miscrosystems.
  505.  
  506.     * bashline.c: (command_word_completion_function) Interpret tildes
  507.     while completing along PATH.  This may be obsoleted in the near
  508.     future, since we might do rms's `=~' and `:~' expansion hacks.
  509.  
  510.     * all files: Remove extraneous tab characters in comments.
  511.  
  512.     * Makefile: Change rules for SQUASH_BLANKS; default to using
  513.       awk script.
  514.  
  515.     * cat-s: New awk script file added to distribution.
  516.  
  517. Thu May 23 17:56:35 1991  Brian Fox  (bfox at gnuwest.fsf.org)
  518.  
  519.     * machines.h: Default to USE_GNU_MALLOC and HAVE_DUP2.  Turn off
  520.     USE_GNU_MALLOC for Sun workstations because of YP bug in Sun.
  521.     cpp-Makefile: Add -DHAVE_DUP2 to CFLAGS if you have it.  Add
  522.     -DHAVE_ALLOCA to cflags if you have it, so config.h gets it.
  523.  
  524.     * test.c: (two_arguments) Fix typo in call to unop ().
  525.     (posixtest) Add missing `break' for 4 argument case.
  526.  
  527. Wed May 22 15:02:31 1991  Brian Fox  (bfox at gnuwest.fsf.org)
  528.  
  529.     * shell.c: (maybe_save_history): add a call to using_history ()
  530.     before checking history_lines_this_session.
  531.  
  532. Sun May 19 17:47:15 1991  Brian Fox  (bfox at gnuwest.fsf.org)
  533.  
  534.     * Makefile: Use an awk script instead of cat -s, since that
  535.     doesn't work on USG systems.  Pass MFLAGS to recursive invocations
  536.  
  537.     * bashline.c: All local names are now declared static.
  538.     (display_shell_version) outputs carriage return after printing the
  539.     shell version so that readline will not be confused.  New
  540.     functions operate_and_get_next (), and  set_saved_history () are
  541.     compatible wth the C-o command from K*rn shell.
  542.  
  543.     * bashline.c: Only allow enabled commands to be completed on.
  544.  
  545.     * braces.c: When compiled with -DSHELL, the brace_arg_separator
  546.     character must be seen for any change to take place in
  547.     brace_expand ().
  548.  
  549.     * bultins.c: (parse_and_execute) Save and restore top_level
  550.     jmp_buf, and supply an alternate place for throws to top_level
  551.     to go to.  This is for arithmetic and bad substitution errors.
  552.  
  553.     * builtins.c: (hash_builtin) use absolute_program () instead of
  554.     absolute_pathname ().
  555.  
  556.     * cpp-Makefile: Numerous changes include using cpp defines for
  557.     readline and termcap targets for those `make' programs which don't
  558.     correctly handle variable expansion in the target postion,
  559.     .distribution now depends on version.h, `make clean' now
  560.     removes created support files. substantial reorganization.  Pass
  561.     $(RANLIB) to library building makes.
  562.  
  563.     * builtins.c (builtin_error) Only print this_command_name if it is
  564.     non-null and non-empty.
  565.  
  566.     * execute_cmd.c (execute_command_internal) A command run in a
  567.     subshell with `()' now runs trap 0 upon completion.  Only let
  568.     auto_resume resume stopped jobs.
  569.  
  570.     * execute_cmd.c: Set file descriptors to close on exec when
  571.     executing builtin commands.
  572.  
  573.     Conditionalize traditional behaviour;  BSD systems exec scripts
  574.     with csh when the first line of the script is `#' by itself.  This
  575.     now only happens if the cpp define HAVE_CSH exists.
  576.  
  577.     * makeargs.sh: If the file /bin/csh exists, then define HAVE_CSH
  578.     in sysdefs.h.
  579.  
  580.     * New define, DUP2_BROKEN determines whether the system's dup2
  581.     doesn't handle close-on-exec correctly.  Add it to SYSDEP_CFLAGS
  582.     in the machine description.  This was done for all Sequents.
  583.  
  584.     * execute_cmd.c (find_user_command_in_path) Use absolute_program
  585.     () instead of absolute_pathname ().
  586.  
  587.     * expr.c: Allowed any valid variable name.
  588.  
  589.     * fc.c: Error messages do not have "fc:" in them anymore.  Fixed
  590.     memory leak in fc_readline ().
  591.  
  592.     * general.c (itos) Use unsigned arithmetic after determining the
  593.     sign to about overflow errors.
  594.  
  595.     * execute_cmd.c, general.h: Moved macro declarations for setting
  596.     the close on exec flag so that shell.c and jobs.c can use them.
  597.  
  598.     * glob.c: #include "posixstat.h" instead of "sys/stat.h" on
  599.     systems where opendir () does not check whether the file being
  600.     opened is a directory.
  601.  
  602.     * jobs.c: Improved error messages.  Make the first command in a
  603.     pipeline block reading from a pipe until the last command is
  604.     created.  This solves all sync problems.
  605.  
  606.     New define "getpgid (pid)" gets around differences in getpgrp ()
  607.     calls on different systems.
  608.  
  609.     set_new_line_discipline () works on TERMIO systems without
  610.     NTTYDISC.
  611.  
  612.     * jobs.h: HP/UX systems barf on WIF* macros in sys/wait.h.  Use
  613.     our definitions in jobs.h instead.
  614.  
  615.     * machines.h: Numerous changes.  Compiler flags for MIPS.
  616.     Improved Encore machines.
  617.  
  618.     * makeargs.sh: Better tests for whoami and hostname.
  619.  
  620.     * nojobs.c: Changes to allow compilation on MINIX and BSD without
  621.     job control.
  622.  
  623.     * parse.y: Discard null input characters.
  624.     Properly count parens and quotes inside of $() and $[].
  625.     subst.c:(extract_delimited_string) also counts correctly.
  626.  
  627.     * posixstat.h: More definitions and fewer assumptions about the
  628.     target system.
  629.  
  630.     * shell.h: Provide a default shell_name when argv[0] is empty or
  631.     null.  Remove leading `-' from argv[0] on recursive calls to main
  632.     ().  Exit status made Posix compliant (127) for attempts to
  633.     execute a binary file, or a non-existant file.
  634.  
  635.     Test for existance of all signal definitions for
  636.     terminating_signals array;  assume nothing about target system.
  637.  
  638.     (throw_to_top_level) If using readline, reset readline function
  639.     pointers to avoid interrupted completion leaving them in a funny
  640.     state.
  641.  
  642.     subst.c: Separate out command substitution from the the main loop.
  643.     (string_extract_double_quoted) now allows new quoting rules from
  644.     Posix.2.
  645.  
  646.     * test.c: test -f behaviour now rigidly Posix.2 compliant.
  647.  
  648. Thu Feb 21 19:54:29 1991  Brian Fox  (bfox at gnuwest.fsf.org)
  649.  
  650.     * jobs.c: Merged in changes to call POSIX signal functions.  Added
  651.     declarations to make those functions work on non-POSIX systems.
  652.     POSIXfied jobs.h.
  653.  
  654. Sun Feb 17 15:31:33 1991  Brian Fox  (bfox at gnuwest.fsf.org)
  655.  
  656.     * glob.c (glob_vector (), glob_filename ()).  In case of interrupt
  657.     and compiled for Bash, then free arrays and throw to top level.
  658.  
  659.     * braces.c; (brace_expand) In case of an error, if compiled for
  660.     Bash, then throw to top level.  Errors are defined as:
  661.  
  662.     foo{   -> no error
  663.     foo{a, -> error
  664.     foo{}  -> no error
  665.     foo}   -> no error
  666.  
  667. Wed Jan 30 17:09:06 1991  Brian Fox  (bfox at gnuwest.fsf.org)
  668.  
  669.     * Changed xrealloc to call xmalloc if the pointer argument was
  670.     NULL.  Changed all calls to xmalloc to xrealloc if they were
  671.     placed as a safegaurd against calling xrealloc on a NULL pointer.
  672.  
  673.     * replaced all occurences of <sys/stat.h> with "posixstat.h".
  674.  
  675. Mon Jun 11 16:34:38 1990  Brian Fox  (bfox at gnuwest.fsf.org)
  676.  
  677.     * Change SYSV to USG everywhere (system V to "Unix Systems
  678.     Group").  In config.h, #define USG if SYSV is defined.
  679.     In machines.h, change `#define M_OS SYSV' to define USG instead.
  680.  
  681. Tue Jun     5 15:56:12 1990  Brian Fox  (bfox at gnuwest.fsf.org)
  682.  
  683.     * execute_cmd.c: (extract_colon_unit) No longer skip leading `:'
  684.     by itself.  Instead return a string of length 0.
  685.  
  686. Thu May 24 17:36:40 1990  Brian Fox  (bfox at gnuwest.fsf.org)
  687.  
  688.     * parse.y (shell_getc) Remember the value of the prompt when
  689.     getting a new line so that history errors and other "stay here"
  690.     faults reuse the same prompt. 
  691.  
  692. Wed May 23 05:12:20 1990  Brian Fox  (bfox at gnuwest.fsf.org)
  693.  
  694.     * bashline.c; Fixed extra call to rl_add_defun in
  695.     initialize_readline (). 
  696.  
  697.     * ulimit.c (shell_umlimit) SYSV can handle setting the break max.
  698.     It does some things in 512 byte blocks, not 1k blocks.
  699.  
  700.     * builtins.c (kill_builtin) Exit value is FAILURE if any of the
  701.     arguments couldn't be killed, else SUCCESS.
  702.  
  703.     * subst.c New function dequote_string ().  Changed all places
  704.     where strings were being dequoted to call this function.
  705.     No longer give up on globbing the rest of the line if the first
  706.     glob fails, due to file system error.
  707.  
  708.     * parse.y, (yylex) Only check for mail when the PS1 prompt is to
  709.     be printed.  Save value of last_command_exit_value around calls to
  710.     execute the value of PROMPT_COMMAND.
  711.  
  712.     * machines.h: ports for sgi, i386 running MACH, and i386 Symmetry.
  713.       Port for Gould 9000 - UTX/32 R2.1A
  714.  
  715.     * jobs.c (execute_command_internal) allow the output of `jobs'
  716.     to be piped.
  717.  
  718. Tue May 15 02:24:30 1990  Brian Fox  (bfox at gnuwest.fsf.org)
  719.  
  720.     * builtins.c (set_builtin) fixed type in call to strcmp ().
  721.  
  722. Fri Apr 27 20:30:40 1990  Brian Fox  (bfox at gnuwest.fsf.org)
  723.  
  724.     * machines.h, jobs.c (initialize_jobs).  Fix things to work with
  725.     the SGI machines and OS.
  726.  
  727. Thu Apr 26 13:41:34 1990  Brian Fox  (bfox at gnuwest.fsf.org)
  728.  
  729.     * builtins.c (read_builtin) New flag -r says not to ignore
  730.     backslash-newline pair in input text.
  731.  
  732.     * builtins.c: add "-f" to readonly and export builtins as per
  733.     POSIX specification.
  734.  
  735.     * execute_cmd.c (intern_function) report error if function cell is
  736.     already taken and the variable is already readonly.
  737.  
  738.     * parse.y: Surround YYACCEPT's in "if foo YYACCEPT; else..." with
  739.     curly braces to avoid bug in Sun's Yacc.
  740.  
  741. Mon Apr     9 19:35:51 1990  Brian Fox  (bfox at gnuwest.fsf.org)
  742.  
  743.     * bashline.c: specific completion functions.  e.g. M-@ completes a
  744.     hostname, no matter what the first character of the word is, while
  745.     C-x @ lists possible hosts.
  746.  
  747.     * execute_cmd.c; (execute_simple_command) Pipelined functions call
  748.     execute_simple_command () directly so as to avoid extra forks
  749.     (which hid SIGPIPE signals).
  750.  
  751. Sun Apr     8 11:19:13 1990  Brian Fox  (bfox at gnuwest.fsf.org)
  752.  
  753.     * bashline.c:snarf_hosts_from_file () Now accepts "$include
  754.     filename" and includes that file.  No limit to nesting.
  755.  
  756. Sat Apr     7 11:48:09 1990  Brian Fox  (bfox at gnuwest.fsf.org)
  757.  
  758.     * execute_cmd.c: find_user_command_in_path (); swapped cases in if
  759.     statement for the sake of efficiency.  It is quicker to check two
  760.     variables than to call a function.  Only matters in 10 percent of
  761.     cases.
  762.  
  763.     * parse.y: read_secondary_line (); Cleaned up.  Duplicated code,
  764.     special case for when using readline library replaced with
  765.     prompt_again ().  New function reset_readline_prompt () keeps the
  766.     readline prompt in sync with the Bash prompt.
  767.  
  768. Thu Apr     5 13:32:35 1990  Brian Fox  (bfox at gnuwest.fsf.org)
  769.  
  770.     * machines.h: added description for Apollo running Bsd.  Patched
  771.     readline.c at rl_restart_output (), also for Apollo.
  772.  
  773.     * execute_cmd.c; do_redirection (): no_clobber test is only valid
  774.     for regular files.  Devices and sockets are okay to "clobber".
  775.  
  776. Sun Apr     1 12:24:56 1990  Brian Fox  (bfox at gnuwest.fsf.org)
  777.  
  778.     * parse.y: reserved_word_acceptable (); added WHILE and UNTIL to
  779.     the list of tokens which would allow bash command words to follow.
  780.     For example: while case hi in...
  781.  
  782. Wed Mar 21 11:08:11 1990  Brian Fox  (bfox at gnuwest.fsf.org)
  783.  
  784.     * nojobs.c: initialize_job_signals ();    Use sigint_sighandler ()
  785.     instead of throw_to_top_level ().
  786.  
  787.     * shell.c: sigint_sighandler (); Reset signal handler to this
  788.     function so that Sys V machines can win.
  789.  
  790.     * parse.y: yy_readline_get (); use sigint_sighandler () rather
  791.     than throw_to_top_level ().
  792.  
  793.     * parse.y: pre_process_line (); Figure out how long PATH is before
  794.     alloca'ing the space for it.
  795.  
  796.     * builtins.c: history_builtin (); moved check for -s flag within
  797.     test for any arguments.
  798.  
  799.     * machines.h: convex has setlinebuf, but doesn't have vprintf.  It
  800.     also apparently runs something like Bsd.
  801.  
  802.     * jobs.c: wait_for ().  Only allow QUIT macro if bash owns the
  803.     terminal.
  804.  
  805.     * mailcheck.c: free_mail_files (); Don't free a NULL pointer.
  806.  
  807. Tue Mar 20 05:41:05 1990  Brian Fox  (bfox at gnuwest.fsf.org)
  808.  
  809.     * parse.y: removed "inserted ;;" error message in CASE rule.
  810.  
  811. Mon Mar 12 01:25:29 1990  Brian Fox  (bfox at gnuwest.fsf.org)
  812.  
  813.     * Makefile:
  814.  
  815.     * Fixed typos in subst.c (quoted = 2) --> (quoted == 2)
  816.  
  817. Sun Mar 11 04:28:30 1990  Brian Fox  (bfox at gnuwest.fsf.org)
  818.  
  819.     * shell.h, subst.c, expand_word_internal ().  Here-documents don't
  820.     let backslash quote double-quote while being expanded.  Controlled
  821.     by the value of QUOTED passed into expand_word_internal ().  1 ==
  822.     expanding inside of double quotes, 2 = expanding a here document.
  823.  
  824.     * parse.y: handle_eof_unit () now alls reset_parser () before
  825.     calling logout_or_exit () to prevent incorrect parsing of the
  826.     .logout file.
  827.  
  828. Sat Mar 10 16:40:10 1990  Brian Fox  (bfox at gnuwest.fsf.org)
  829.  
  830.     * execute_cmd.c: execute_command_internal ().  Fixed bug of
  831.     backgrounded shell control structures not being in the background.
  832.  
  833.     * subst.c: expand_word_internal (); If a command substitution
  834.     string was not closed properly, the shell could walk off of the
  835.     end of a string.  Fixed with simple test.
  836.  
  837.     * parse.y: shell_getc ();  now takes argument saying how to handle
  838.     backslash-newline.  All calls to shell_getc () adjusted.
  839.     read_token () adjusted to handle new scheme; it has to know when
  840.     to allow backslash newline, and when to ignore.
  841.  
  842.     * builtins.c: echo_builtin ();    Words ending in `\' handled
  843.     incorrectly, allowing a reference past the end of the string.
  844.     Fixed.
  845.  
  846.     * execute_cmd.c: find_user_command_in_path ();
  847.     if PATH ended with a `:', then that didn't mean to search
  848.     `.' for a file.  Now it does.
  849.  
  850.     * builtins.c: added hack to history_builtin ().  Let
  851.     history -s args produce output the way that ARGS would if typed
  852.     interactively.  Thus "history -s "!?ema" might produce
  853.     "ls -l emacs-18.55.tar.Z".
  854.  
  855.     * Added sun-cmd.termcap to the examples directory.
  856.  
  857.     * POSIX`fied jobs.c: new define tcsetpgrp () takes place of
  858.     ioctl TIOCSPGRP; order of setting pgrp and terminal pgrp now
  859.     pgrp first, then terminal next.
  860.  
  861. Fri Mar     9 00:04:53 1990  Brian Fox  (bfox at gnuwest)
  862.  
  863.     * subst.c: new function unquote_bang () removes backslashed `!'
  864.     from single-quoted strings after extracting them.
  865.  
  866. Sat Feb 24 13:40:12 1990  Brian Fox  (bfox at gnuwest.gnu.org)
  867.  
  868.     * parse.y:read_token (); backslash doesn't quote inside
  869.     of single quotes.  Esp. newline.
  870.  
  871. Tue Jan 30 09:23:13 1990  Brian Fox  (bfox at sbphy.ucsb.edu)
  872.  
  873.     * cpp-Makefile, machines.h, config.h:  HAVE_SETLINEBUF define is
  874.     defined or not in machines.h.
  875.  
  876.     * shell.c: main (); Line buffer stdout as well as stderr.
  877.  
  878.       builtins.c: type_builtin (), jobs_builtin (), alias_builtin (),
  879.       cd_builtin (), dirs_builtin ().  fflush (stdout) after printing.
  880.  
  881.       jobs.c: pretty_print_job (); fflush (stream) after printing.
  882.  
  883. Sat Jan 20 12:02:41 1990  Brian Fox  (bfox at sbphy.ucsb.edu)
  884.  
  885.     * unwind_prot.c: run_unwind_protects_internal () -- don't
  886.     run a non-existant function, like when the element is a
  887.     catch frame marker.
  888.  
  889. Fri Jan 19 16:57:31 1990  Brian Fox  (bfox at sbphy.ucsb.edu)
  890.  
  891.     * variables.c: getenv () now calls find_tempenv_variable () first
  892.     to find the most recent exported variable.
  893.  
  894.     * variables.c: find_tempenv_variable () -- new function.  Makes a
  895.     shell variable if one exists in the temporary environment for a
  896.     command and returns that, or NULL otherwise.  Used in
  897.     set_or_show_attributes (), found in builtins.c.  This specifically
  898.     allows shell builtins to get the value of variables in the local
  899.     environment for this command.
  900.  
  901.     * parse.y: pre_process_line ().  Don't do any preprocessing if
  902.     history_exapnsion_inhibited is on.  builtins.c: parse_and_execute
  903.     ().  Save and restore the value of history_expansion_inhibited,
  904.     not of history_expansion.  In this way, .bashrc files can set or
  905.     clear this flag with "set +o".
  906.  
  907. Thu Jan 18 19:52:02 1990  Brian Fox  (bfox at sbphy.ucsb.edu)
  908.  
  909.     * builtins.c: All builtins use builtin_error () instead of
  910.     report_error ().  All builtins have a return value.
  911.     get_numeric_value () no longer takes FOR_WHOM argument.  The value
  912.     is now taken from THIS_COMMAND_NAME.  Ditto for no_args ().
  913.  
  914.     * builtins.c: new function builtin_error () is similar to
  915.     report_error (), but can never exit the shell, and uses the value
  916.     of this_command_name in reports.
  917.  
  918. Fri Jan     5 11:12:31 1990  Brian Fox  (bfox at sbphy.ucsb.edu)
  919.  
  920.     * variables.c: initialize_shell_variables ().  Added new variable
  921.     HOSTTYPE which contains the machine type that this shell is
  922.     compiled on.  Also affected Makefile for additional define and
  923.     rule for variables.c.
  924.  
  925.     * parse.y: pre_process_line ().  In the case of ALIAS not being
  926.     defined, a non-malloced string could be returned.  Fixed by
  927.     calling savestring (line) in that case.
  928.  
  929.     * execute_cmd.c: do_redirections (), do_redirect ():
  930.       Added noclobber variable.  If set redirections are
  931.       not allowed to overwrite existing files.  Also affected subst.c:
  932.       stupidly_hack_variables.
  933.  
  934. Thu Jan     4 11:51:25 1990  Brian Fox  (bfox at sbphy.ucsb.edu)
  935.  
  936.     * builtins.c: pushd_builtin (), popd_builtin ().  If variable
  937.     "pushd_silent" exists don't print out new directory after cd'ing.
  938.     Allow pushd and popd to take "-NUM" args -- they count back from
  939.     the end of the list.
  940.  
  941. Wed Jan     3 11:42:30 1990  Brian Fox  (bfox at sbphy.ucsb.edu)
  942.  
  943.     * Gave variables two cells; one for value, one for functions.
  944.       This modifies a large number of files.  The function cell of
  945.       a variable is addressed with "function_cell (var)"; this can be
  946.       a LHS.   The value cell is addressed with "value_cell (var)".
  947.       There is no more att_function; you can still check to see if the
  948.       variable has a function value with function_p (var).
  949.  
  950. Mon Sep     4 18:30:33 1989  Brian Fox  (bfox at aurel)
  951.  
  952.     * copy_command.c: copy_command ().  Don't forget to copy
  953.       the command redirections.
  954.  
  955. Sun Sep     3 08:23:04 1989  Brian Fox  (bfox at aurel)
  956.  
  957.     * readline.c: update_display ().  Fixed printing of initial
  958.       character on line twice bug. 
  959.  
  960. Fri Sep     1 18:52:08 1989  Brian Fox  (bfox at aurel)
  961.  
  962.     * readline.c: rl_insert ().  Optimized for large amounts
  963.       of typeahead.  Insert all insertable characters at once.
  964.  
  965.     * I update this too irregularly.
  966.       Released 1.03.
  967.  
  968.       jobs.c: stop_pipeline ().  If THE_PIPELINE is null, don't
  969.       try to install it as a job.
  970.  
  971.       execute_command.c: execute_simple_command ().  Fixed call
  972.       to stop_pipeline () by adding required arguments.
  973.  
  974.       parse.y: yy_error (), new function report_syntax_error ().
  975.            CASE case uses report_syntax_error ().
  976.       shell.c: main (). If the input to the shell is a command file,
  977.       then remember the name of the file in with_input_from_stream ().
  978.  
  979. Tue Aug     8 18:11:54 1989  Brian Fox  (bfox at aurel)
  980.  
  981.     * general.c: strindex () now placed there.  Static version
  982.       is in readline.c.
  983.  
  984.     * execute_cmd.c: If the shell is to read a file as commands,
  985.       and the file appears to contain non-ascii characters, then
  986.       complain about it being a binary file.
  987.  
  988. Sun Aug     6 13:07:41 1989  Brian Fox  (bfox at aurel)
  989.  
  990.     * unwind_prot.c: Added tag based unwind frames.
  991.       begin_unwind_frame ("foo");
  992.         add_unwind_protect (free, data);
  993.         add_unwind_protect (free, data);
  994.         ...
  995.       run_unwind_frame ("foo");
  996.  
  997.     * readline.c: Added input buffer management, and event
  998.       input.
  999.       rl_event_hook, if non-zero, is the address of a function to
  1000.       call repeatadly while polling for input.
  1001.  
  1002.       rl_stuff_char (char) pushes CHAR onto input ring.
  1003.  
  1004.       rl_get_char (&char) (when returning non-zero) pops the front of
  1005.       the input ring, placing it into CHAR (an int).
  1006.  
  1007.       rl_gather_tyi () puts characters into input ring if available.
  1008.  
  1009.     * execute_cmd.c: execute_simple_command (): even when a function
  1010.       is being piped we need to set return_catch_flag.
  1011.  
  1012. Sat Aug     5 08:32:05 1989  Brian Fox  (bfox at aurel)
  1013.  
  1014.     * variables.c: make_var_array (), initialize_shell_variables ()
  1015.       Added exporting of functions.
  1016.  
  1017.     * read_builtin (): reads characters singly from stdin, allowing
  1018.       backslash-newline to pass.
  1019.  
  1020.     * test.c: use access () instead of opening files.
  1021.  
  1022.     * numerous files, parse_and_execute (), with_input_from...
  1023.       Added stream_name to contents of pushed and popped streams,
  1024.       and to functions that push and pop streams.  yyerror () uses
  1025.       this to aid in reporting errors.
  1026.  
  1027. Fri Aug     4 12:35:08 1989  Brian Fox  (bfox at aurel)
  1028.  
  1029.     * copy_cmd.c copy_redirect (): case of r_read_until falls through
  1030.       to copy the actual here-document.
  1031.  
  1032. Wed Aug     2 11:47:50 1989  Brian Fox  (bfox at aurel)
  1033.  
  1034.     * builtins.c:cd_builtin (): if the shell variable "cdable_vars"
  1035.       exists, and the directory specified cannot be changed to, either
  1036.       first with CDPATH or directly, the the directory name is looked
  1037.       up in the list of shell variables.  If it exists, and is a
  1038.       string, then that value is tried.
  1039.  
  1040.     * test.c: moved `!' operator to term () from expr ()
  1041.  
  1042. Tue Aug     1 16:03:32 1989  Brian Fox  (bfox at aurel)
  1043.  
  1044.     * execute_cmd.c, builtins.c: global variable return_catch_value
  1045.       now contains the value of `return' calls.
  1046.  
  1047.     * parse.y: current_readline_prompt gets NULL after it is freed.
  1048.  
  1049. Sun Jul 16 07:51:46 1989  Brian Fox  (bfox at aurel)
  1050.  
  1051.     * test.c: Added -S to test for file being a socket.
  1052.       builtins.c: Added documentation for -S test.
  1053.  
  1054.     * execute_cmd.c: execute_case_command ()
  1055.       The clause patterns are now expanded before being
  1056.       matched against.
  1057.  
  1058. Tue Jul 11 05:30:58 1989  Brian Fox  (bfox at aurel)
  1059.  
  1060.     * parse.y:yy_readline_get ()
  1061.       Fixed bug with readline returning EOF.
  1062.  
  1063.     * All files
  1064.       Changed #ifndef NOJOBS to #ifdef JOB_CONTROL.
  1065.  
  1066. Sat Jul     8 05:02:39 1989  Brian Fox  (bfox at aurel)
  1067.  
  1068.     * parse.y
  1069.       New command type `Group' is for running commands in `{}'.  This
  1070.       allows all of the commands to be piped at the same time.
  1071.  
  1072. Wed Jun 28 16:51:42 1989  Brian Fox  (bfox at aurel)
  1073.  
  1074.     * New directory: LIB contains readline and history stuff,
  1075.       and is Make-able on its own.  Also contains its own
  1076.       ChangeLog.
  1077.  
  1078.     * history.c: removed shell dependent stuff, made into module
  1079.       in readline library.
  1080.  
  1081. Tue Jun 27 13:05:54 1989  Brian Fox  (bfox at aurel)
  1082.  
  1083.     * readline.c: removed shell dependent stuff.
  1084.  
  1085.     * New file: bashline.c contains all of the shell specific
  1086.       readline material in an attempt to begin using the
  1087.       readline stuff as a library.
  1088.  
  1089.  
  1090. Mon Jun 26 13:35:16 1989  Brian Fox  (bfox at aurel)
  1091.  
  1092.     * parse.y
  1093.        Fixed problem in read_token () which prevented '{' from
  1094.        being recognized after "c () {".  Changed
  1095.        reserved_word_acceptable () to know about `{' as precursor
  1096.        to commands.
  1097.  
  1098.     * readline.c, jobs.c
  1099.        Make commands that do not complete sucessfully restore the
  1100.        tty state to whatever it was before the command was executed.
  1101.